/**
 * 给函数定义类型：定义函数的参数和返回值的类型
 */

// function 声明的函数：定义函数的时候直接定义好类型
// function fn(x: number, y: number): number {
//     return x + y
// }

// const fn = (x: number, y: number): number => {
//     return x + y
// }

// 把函数类型提出来单独定义
// type Fn1 = (x: number, y: number) => number

// let fn1: Fn1 = (x, y) => {
//     return x + y
// }

// 可选参数:给参数加？代表该参数为可选参数，必选参数不能位于可选参数后
// let fn = (x: number, y?: number): number => {
//     if (y) {
//         return x + y
//     } else {
//         return x * 2
//     }
// }

// 函数如果没有返回值，返回值默认是void
// let fn = () => { // let fn: () => void
//     // 如果没有返回值，鼠标移入fn可以看到返回值类型为void
// }

// let fn = () => {
//     console.log('这是一个没有返回值的函数')
// }

// type Fn = () => void
// let fn = (): void => {
//     console.log('这是一个没有返回值的函数')
// }

// 对象中的方法
type Obj = {
    id: number,
    name: string,
    say: () => void,
    play: (sport: string) => string
}

export default {}